The present disclosure relates to computer graphics systems, and more particularly, to presenting images on a display.
One area of computing devices that has grown in recent years are gaming devices and virtual reality (VR) devices, which use a graphics processing unit (GPU) to render graphics from a computing device to a display device based on rendering instructions received from the computing device. As used herein, a VR device may include a device that generates and/or displays virtual reality images (e.g., from at least one virtual environment input), mixed reality (MR) images (e.g., from at least two virtual environment inputs), and/or augmented reality (AR) images (e.g., from at least one virtual environment input and one real environment input). In gaming devices, a scene produced on a display device can be oriented or modified based on user input (e.g., movement of a gamepad button or stick to cause movement of the orientation of the scene, introduction of items into the scene, etc.). Similarly, in VR devices, the scene produced on a display device can be oriented or modified based on user input, where the input may include detecting movement of the user's head (e.g., detected movement of the VR device, such as a head mounted display (HMD)).
In one mode of operation, such as when a vertical synchronization (V-SYNC) is turned off, the GPU sends a new image to the display for presentation as soon as the new image is generated. When the display receives this new image but is in the middle of presenting a prior image, the initiating of the presentation of the new image may cause tearing of the image on the display. For instance, the tearing in this case may be defined by a top portion of the display presenting the prior image, and a bottom (or lower) portion of the display (e.g., defined by a horizontal scan line) presenting the new image.
This problem may be addressed by leaving on the V-SYNC, however, in VR it is desired to have as little latency as possible in the image. Leaving on the V-SYNC creates a deadline after which any new image may not be presented until a next frame. So, leaving on the V-SYNC may lead to a relatively large amount of latency, for instance, if the new image is not ready in time to meet the V-SYNC deadline, which causes the prior image to be re-presented. In this case, even though the new image is available soon after the V-SYNC deadline, the new image will not be presented until the entire prior image is presented again, leading to a less than desirable user experience.
Thus, there is a need in the art for improvements in presenting VR images on a display.